package practice1_100;

import java.util.HashMap;
import java.util.Hashtable;
import java.util.Scanner;
import java.util.Vector;
import java.util.concurrent.ConcurrentHashMap;

public class Solution
{
    public static volatile Solution solution;
    private Solution(){}
    public static Solution getInstance(){
        if(solution==null){
            synchronized(Solution.class){
                if(solution==null)solution=new Solution();
                return solution;
            }
        }
        return solution;
    }

    public static void main(String[] args) {



        }
        public String decodeString(String str){
            int num=0;
            StringBuffer sb=new StringBuffer();
            for (int i = 0; i <str.length() ; i++) {
                if(Character.isDigit(str.charAt(i))){
                    num=num*10+str.charAt(i)-'0';
                }else if(str.charAt(i)=='['){
                    int j=i+1;
                    int left=1;
                    while (left>0){
                        if(str.charAt(j)=='[')++left;
                        if(str.charAt(j)==']')--left;
                        ++j;
                    }
                    String dt=decodeString(str.substring(i+1,j-1));
                    i=j+1;
                    if(num==0)sb.append(dt);
                    else for (int k = 0; k < num; k++) {
                        sb.append(dt);
                    }
                }else sb.append(str.charAt(i));
            }
            return sb.toString();
        }
    public int StringSplit (String str) {
        // write code here
        char[] ch=str.toCharArray();
        int count;
        int max=0;
        for (int i = 0; i < ch.length; i++) {
            count=0;
            for (int j = 0; j < i; j++) {
                if(ch[j]=='a')count++;
            }
            for (int j = i; j < ch.length; j++) {
                if(ch[j]=='b')count++;
            }
            if(count>max)max=count;
        }
        return max;


//        int a=0;
//        int b=0;
//        for(char c:str.toCharArray()){
//            b+=c=='b'?1:0;
//        }
//        int ans=0;
//        for (int i = 0; i < str.length(); i++) {
//            char c=str.charAt(i);
//            if(c=='a'){
//                ++a;
//            }else --b;
//            ans=Math.max(ans,a+b);
//        }
//        return ans;
    }
    }

